package com.xmfh.wemedia.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface FabulousMapper {

    /**
     * 对文章/相册/微头条/问答/视频点赞数的自增
     *
     * @param tableName 从FabulousType内选择表格
     * @param id        需要增加点赞数的id
     * @return 生效行数，1为生效，0为无效，不应该出现其他数字
     */
    Integer updateFabulous(@Param("table_name") String tableName, @Param("id") Integer id);

    /**
     * 枚举类，包含了所有可以使用点赞的表的名称
     */
    enum FabulousType {
        ARTICLE("dd_article"),
        ALBUM("dd_album"),
        MICRO("dd_micro"),
        QUESTION("dd_question"),
        VIDEO("dd_video");

        String selectedTable;

        FabulousType(String selectedTable) {
            this.selectedTable = selectedTable;
        }

        public String getSelectedTable() {
            return selectedTable;
        }
    }
}
